
import { ProxyModel } from "../model";
import superAgent from 'superagent'
import cheerioModule from 'cheerio'
import { v4 } from "uuid";
import { getCancelTokenSource } from "../utils/proxy-util";
import axios from "axios";
// import { ExtractProxy } from "./interface-proxy";


// export class kuaiDaillProxy implements ExtractProxy {

//     private URL: string = 'https://www.kuaidaili.com/free/inha/1'

//     async getProxy(): Promise<void> {
//         let index = 1
//         while (true) {
//             const source = getCancelTokenSource()
//             setTimeout(() => {
//                 source.cancel(`请求超时`)
//             }, 5000)
//             try {
//                 const res = await axios.get(`https://www.kuaidaili.com/free/inha/${index}/`, { cancelToken: source.token })
//                 // const data = await this.initProxy(res.data)
//                 // if (data.length === 0) break
//                 // proxyArr = proxyArr.concat(data)
//             } catch (error) {
//                 console.error(error)
//                 continue
//             }
//             index++
//         }
//     }

//     // async initProxy(proxyStr: string): Promise<void> {
//     //     const proxyArr: ProxyModel[] = []
//     //     const $ = cheerioModule.load(proxyStr)
//     //     let data = $('tbody tr')
//     //     for (let i = 0; i < 15; i++) {
//     //         const ip = data.children().eq(0).text()
//     //         const port = data.children().eq(1).text()
//     //         const protocol = data.children().eq(3).text()
//     //         if (ip.length === 0) break
//     //         proxyArr.push({
//     //             _id: v4(),
//     //             ip: ip,
//     //             port: Number(port),
//     //             city: '',
//     //             speed: 0,
//     //             country: '',
//     //             protocol: protocol,
//     //             flag:false
//     //         })
//     //         data = data.next()
//     //     }
//     // }

// }